[PATCH 26/26] libblkid: iso9660: allocate enough space for UTF16 decoding
authorThomas Weißschuh <thomas@t-8ch.de>
Thu, 10 Nov 2022 18:48:20 +0000 (19:48 +0100)
committerChris Hofstaedtler <zeha@debian.org>
Sat, 19 Nov 2022 15:48:44 +0000 (15:48 +0000)
commit830f10c8f2ce58f2921591fa90b2a0953668e408
tree6cdd02a5f97b40f477bd995bb650f414884f0a60
parent28a45c2e8ec93da896a495805abbea2c372c8c64
[PATCH 26/26] libblkid: iso9660: allocate enough space for UTF16 decoding

When merge_utf16be_ascii() encounters high-codepoint surrogate pairs it
emits four bytes of output for one byte of ascii input.
In addition with the remaining ascii characters from the second loop we
need up to 5 * sizeof(input) / 2 bytes as output buffer.

As we decode up to 128 ascii characters with merge_utf16be_ascii() we
need 320 bytes of buffer available.

Furthermore adapt merge_utf16be_ascii() to not write paste the output
buffer end.

Fix OSS-Fuzz issue 53149 ( #1887 )

Gbp-Pq: Topic upstream
Gbp-Pq: Name 0026-libblkid-iso9660-allocate-enough-space-for-UTF16-dec.patch
libblkid/src/superblocks/iso9660.c